A variety of digital techniques provide means of integrating filters capable of meeting high quality filter specifications. The performance of these filters typically equals and in particular cases exceeds performance available with passive RLC filters.
Some truly integrated filters are discrete time filters in which a continuous time signal is sampled with a fixed periodicity and the analog amplitudes of the signal at the sample are linearly manipulated and transformed or digitally coded and processed before transformation. Filters which process sampled data linearly are classified as either Infinite Impulse Response (IIR) recursive filters or Finite Impulse Response (FIR) nonrecursive filters, depending upon whether the filter does or does not use recursion in internal loops when processing the samples.
While microprocessors are particularly suited for applications where speed and data handling size are not critical, they are not particularly well suitable for many data intensive applications. For example, medical imaging systems, speech recognition systems, and radar systems require that very large amounts of data be processed in real time. To increase their processing speed, a number of the systems utilize digital signal processors, which are optimized to process the sampled data at high rates. The repetitive nature of the signals allow the architecture of the digital signal processor to be optimized.
Referring to FIG. 1, there is shown a FIR filter 10. The FIR filter 10 has a sampler 12 which samples the input signal V.sub.in (t) at a sampling frequency of f.sub.s =1/T. The output of the sampler 12 is coupled to M delay stages 14 in sequence. Each delay stage 14 delays the associated sample by the period T. The delayed sampled signal V.sub.K at each node K is coupled to a multiplier 16 where the signal is multiplied by the tap weighting coefficient h(K). The outputs of the multipliers 16 are coupled to a summer 18 which sums the products of the multiplication. The output of the summer 18 is coupled to provide the output of the filter V.sub.out (nT).
The FIR filter output V.sub.out (nT) is shown in Equation 1. ##EQU1## At t=nT the delay associated with node K is (K-1)T. Therefore, the signal at the node V.sub.K (nT) is shown in Equation 2 and the filter output is shown in Equation 3. ##EQU2##
This represents the linear convolution of the sequences h(K) and the sampled input signal. Where h(K) is the sequence of coefficients defining the impulse response of the filter, which is determined as the inverse Fourier transform of the desired filter response in the frequency domain, V.sub.OUT (nT) is the desired filter output in discrete time.
An adaptive FIR filter adapts the tap weighting coefficients h(K) of the multipliers 16 in response to the signal being processed. When a single tap weight processing element is timeshared in order to adapt all of the tap weighting coefficients h(K), then each of the tap weighting coefficients h(K) are adapted only 1/N of the time. With scrambled and non-repetitive data, this method of adaptation presents no problem, other than increasing the time required for adaptation. However, when the data is repetitive, even if it is scrambled, as in the case of reading the same data field over and over in a disk drive, the subsets of the data bits that are utilized to adapt the weighting coefficients of each tap are invariant. Each tap coefficient is adapted with the subset of all the data during each attempt to read the data field.
While the scrambling of the data may ensure that the data spectrum is nearly white noise, the power spectral density of the small, fixed collection of bits which are used to adapt the weighting coefficient of each tap may not be sufficiently white noise like to ensure adaptation to the best possible tap weighting coefficient vector. This problem is worse when reading shorter data fields.
Therefore, there is a need to optimize the adaptation of a finite impulse response filter when processing repetitive data.